var type = "all";
var secret;
$().ready(function() {
	initDictDatas();
	validateRule();
});

$.validator.setDefaults({
	submitHandler : function() {
		save();
	}
});

function setCheck(){
	$("#deptId").val('');
	$("#deptName").val('');
}



//构建字典数据
function initDictDatas(){
	// var a =document.getElementById(#sel).valueOf();
	// console.log("选中的类型为"+a);

	//省
	$('#provinceNum').bootstrapSelect({
		url:ctx+'plat/hyBaseArea/list/100000',
		valueField: 'areaNum',
		textField: 'areaName',
		placeholder: "请选择所属省",

		onChange:function(value){
			// document.getElementById("provinceNum")[2].selected=true; 不好用
			if(value == null || value == ''){
				return false;
			}
			//级联市
			$('#cityNum').bootstrapSelect({
				url:ctx+'plat/hyBaseArea/list/'+value,
				valueField: 'areaNum',
				textField: 'areaName',
				placeholder: "请选择所属市",

				onChange:function(value){
					if(value == null || value == ''){
						return false;
					}
					//级联油站
					$('#station').bootstrapSelect({
						url : ctx+'plat/stationInfo/listStation/'+value,
						valueField: 'stationId',
						textField: 'stationName',
						placeholder: "请选择加油站"
					});
					//bootstrap-select使用规则是先执行操作然后refresh
					$('#station').selectpicker('refresh');
				}
			});
			//bootstrap-select使用规则是先执行操作然后refresh
			$('#cityNum').selectpicker('refresh');
		}
	});


	$('#cityNum').bootstrapSelect({
		valueField: 'areaNum',
		textField: 'areaName',
		placeholder: "请选择所属市"
	});

	$('#merchantId').bootstrapSelect({
		url:ctx+'plat/merchantInfo/listMerchantDict/32',
		valueField: 'merchantId',
		textField: 'merchantName',
		placeholder: "请选择所属商户"
	});




}




function getCheckedRoles() {
	var adIds = "";
	$("input:checkbox[name=role]:checked").each(function(i) {
		if (0 == i) {
			adIds = $(this).val();
		} else {
			adIds += ("," + $(this).val());
		}
	});
	return adIds;
}
function save() {
	getKey();
	var pwd = encrypt($("#password").val());
	$("#password").val(pwd);
	$("#roleIds").val(getCheckedRoles());
	$.ajax({
		cache : true,
		type : "POST",
		url : ctx+"sys/user/save",
		data : $('#signupForm').serialize(),// 你的formid
		async : false,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			if (data.code == 0) {
				parent.layer.msg("操作成功");
				parent.reLoad();
				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
				parent.layer.close(index);

			} else {
				parent.layer.alert(data.msg)
			}

		}
	});

}
function validateRule() {
	var icon = "<i class='fa fa-times-circle'></i> ";
	$("#signupForm").validate({
		rules : {
			name : {
				required : true
			},
			username : {
				required : true,
				minlength : 2,
				remote : {
					url : ctx+"sys/user/exit", // 后台处理程序
					type : "post", // 数据发送方式
					dataType : "json", // 接受数据格式
					data : { // 要传递的数据
						username : function() {
							return $("#username").val();
						}
					}
				}
			},
			password : {
				required : true,
				checkPWD:true
			},
			// confirm_password : {
			// 	required : true,
			// 	minlength : 6,
			// 	equalTo : "#password"
			// },
			deptId : {
				required : true,
				minlength : 2
			},
			topic : {
				required : "#newsletter:checked",
				minlength : 2
			},
			agree : "required"
		},
		messages : {

			name : {
				required : icon + "请输入姓名"
			},
			username : {
				required : icon + "请输入您的用户名",
				minlength : icon + "用户名必须两个字符以上",
				remote : icon + "用户名已经存在"
			},
			password : {
				required : icon + "请输入您的密码"
				// minlength : icon + "密码必须6个字符以上"
			},
			// confirm_password : {
			// 	required : icon + "请再次输入密码",
			// 	minlength : icon + "密码必须6个字符以上",
			// 	equalTo : icon + "两次输入的密码不一致"
			// },
			deptId : {
				required : icon + "请选择数据权限",
				minlength : icon + "请选择数据权限"
			}
		}
	})
	jQuery.validator.addMethod("checkPWD", function(value, element) {

		var userblank = /^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{12,20}$/;
		return this.optional(element) ||(userblank.test(value));
	}, "密码必须12-20位字符 必须包含字母大小写 数字 标点符号");
}



var openDept = function(){
	var dateType = $("#sel").val();
	layer.open({

		type:2,
		title:"选择权限",
		area : [ '300px', '450px' ],
		content:ctx+"system/sysDept/newTreeView"
	})
}
function loadDept( deptId,deptName){
	$("#deptId").val(deptId);
	$("#deptName").val(deptName);
}

function getKey(){
	$.ajax({
		type: "GET",
		url: ctx+"wxs/getKey",
		async: false,
		success: function (r) {
			secret = r;
		}
	});
}

/**
 * 加密（需要先加载lib/aes/aes.min.js文件）
 * @param word
 * @returns {*}
 */
function encrypt(word){
	var key = CryptoJS.enc.Utf8.parse(secret);
	var srcs = CryptoJS.enc.Utf8.parse(word);
	var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
	return encrypted.toString();
}

